window.__jivoOnError=function(e){if(navigator.userAgent.search(/google/gi)===-1&&navigator.userAgent.search(/\+http:\/\/yandex\.com\/bots/gi)===-1)try{var t=window.location.protocol+"//err.jivosite.com/widget",r="POST",n={widget:"true",widget_version:window.jivo_version,level:2,url:window.location.href,user_agent:navigator.userAgent,lineNumber:e&&e.lineNumber,fileName:e&&e.fileName,column:e&&e.columnNumber,full_message:e&&e.stack,short_message:e&&e.message},o=new XMLHttpRequest;"withCredentials"in o?o.open(r,t,!0):"undefined"!=typeof XDomainRequest&&(o=new XDomainRequest,o.open(r,t)),o.setRequestHeader("Content-Type","application/json"),o.send(JSON.stringify(n))}catch(e){}},function(){function e(e,t,r,n){function o(e){if(Q("Loading config from",e),T())return void oe.error("This widget is permanently removed");var r=new XMLHttpRequest;r.onreadystatechange=function(){if(4===r.readyState)if(200===r.status){var e,n=R(r);try{e=JSON.parse(n)}catch(e){Q("Config is loaded as JSONP");var o=t.getElementsByTagName("script"),a=o[0],l=t.createElement("script");M(l),l.innerHTML=n,a.parentNode.insertBefore(l,a)}e&&(Q("Config is loaded",e),i(e))}else 0!==r.status&&A()},r.open("GET",e+"?rnd="+Math.random(),!0),r.send(null)}function i(e){if(e.isDeleted)return void k();if(Le!==e.base_url)return Q("Wrong config host",Le),Le=e.base_url,void o(S());if(e.regions&&!Te.isChatStarted){var t=O(e);if(t.widgetId!==Oe)return Q("Wrong geo-widget widgetId",Oe),h("geoWidgetInfo",t),Oe=t.widgetId,void o(S())}h("configHost",Le),l(e)}function a(e,t){return[e,t].reduce(function(e,t){return Object.keys(t).forEach(function(r){e[r]=t[r]}),e},{})}function l(t){if(h("log",!!t.logs),"[object Object]"===Object.prototype.toString.call(e.wix_context)&&"[object Object]"===Object.prototype.toString.call(e.jivo_wix)&&(t=a(t,e.jivo_wix)),e.jivo_config=ie=t,x())throw Q("Host is blacklisted",e.location.host),new Error("Placing widget is forbidden on "+e.top.location.host);if(ve&&ie.disable_mobile)return void Q("Mobile widget is disabled");d()}function d(){"complete"==t.readyState?s():Te.bundleLoaded&&Te.buildNumber==ie.build_number?"interactive"==t.readyState?s():z(e,"DOMContentLoaded",s):(h("bundleLoaded",!1),z(e,"load",s))}function s(){Q("Widget initialization"),W(),u(),F()}function u(){Q("Iframe initialization"),me.src="javascript:void(0)",me.title="",me.role="presentation",me.allow="autoplay",me.setAttribute("name","jivo_container"),me.setAttribute("id","jivo_container"),me.setAttribute("frameborder","no"),pe.className+="jivo-no-transition","undefined"==typeof SVGRect&&(pe.className+=" no-svg"),(me.frameElement||me).style.cssText="width:100%;height:100%;border:0",e.jivo_init=function(){be=0;var r=t.createEvent("Event");r.initEvent("jBeforeunload",!0,!0),e.dispatchEvent(r),c()},e.atob&&"complete"!==t.readyState?z(e,"load",c):c(),z(e,"message",function(r){if(!r||!r.data||"object"!=typeof r.data)return void(ie&&1===ie.logs&&oe&&oe.log&&oe.log("Error receive postMessage, window message event is empty."));var n,o,i=r.data;if("in_node_webkit"==i.name&&(n||(n=r.source,o=r.origin),n&&o)){e.jivo_cobrowse={source:n,origin:o};var a="jv_"+encodeURIComponent("langpack")+"_"+ie.widget_id+"="+encodeURIComponent(JSON.stringify(i.langpack));ie.cookie_domain&&(a+="; domain="+ie.cookie_domain),a+="; path=/",t.cookie=a,n.postMessage({name:"widget_ready"},o)}"iframe_url_changed"!=i.name&&"iframe_url_changed"!=i||p()},!1)}function c(){var e=U();return Q("startLoadBundle",e),ie.build_number!==Te.buildNumber&&e!==ie.base_url?void f(e):void(D()||e===ie.base_url?g(e):f(e))}function f(e){var t=new XMLHttpRequest,r=U(!0)+"/ping?rand="+(new Date).getTime();Q("Pinging host",r),t.onreadystatechange=function(){if(4===t.readyState)if(204===t.status){clearTimeout(se),Q("Host is available",e);var r={type:Te.availableHostInfo.type,retriesCount:je,host:e};h("availableHostInfo",r),h("buildNumber",ie.build_number),g(e)}else 0!==t.status&&(Q("Ping host error",e),J("error",e,t.status))},t.open("GET",r,!0),t.send(null),X()}function g(e){Q("Insertion of bundle code from",e);var r=ee(),n=t.createElement("script"),o=G(e);fe=fe||(new Date).getTime(),M(n),n.className="js-jivo-bundle",n.src=o,ge.bundleSrc=o,n.onerror=function(){J("error",e)},r.appendChild(n)}function v(e){clearTimeout(se),ue=e;var t=((new Date).getTime()-fe)/1e3;t>6&&h("loadTime",t),h("bundleLoaded",!0),h("buildNumber",ie.build_number),Q("Bundle is loaded"),m()}function m(){de=t.body.lastChild,pe.style&&(pe.style.opacity="0",pe.style.visibility="hidden"),pe.setAttribute("id","jivo-iframe-container"),pe.appendChild(me),de?de.parentNode.insertBefore(pe,de.nextSibling):t.body.appendChild(pe),p()}function p(){if(!(be++>3)){if(!ue)return be--,c();try{le=me.contentWindow.document}catch(e){ae=t.domain,me.src="javascript:var d=document.open();d.domain='"+ae+"';void(0);",le=me.contentWindow.document}var e="",r='',n="",o=""+r+n+"",i='
';le.write(e+o+i),le.close()}}function b(){var e={isChatStarted:null,geoWidgetInfo:{widgetId:null,clientLocation:null,region:null},configHost:null,deletedInfo:{widgetId:null,resolveTime:null},availableHostInfo:{retriesCount:null,type:null,host:null},buildNumber:null,bundleLoaded:null,isNewCode:null,loadTime:null,log:null};if(ge.hasStorage){var t=JSON.parse(localStorage.getItem("jv_loader_info"));t&&w(t,e)}return e}function h(e,t){if(Te[e]=t,ge.hasStorage){var r={};w(Te,r),localStorage.setItem("jv_loader_info",JSON.stringify(r))}}function w(e,t){var r=Object.keys(e);r.forEach(function(r){_(e[r])||(t[r]=e[r])})}function _(e){if(y(e))return!0;if("object"==typeof e){for(var t=Object.keys(e),r=0;r=(new Date).getTime())}function L(e,t,r){return{widgetId:e,region:t,clientLocation:r}}function O(e){var t,r,n=e.regions,o=H(e.geoip);if(n){for(var i=Object.keys(n),a=0;a_e){Q("Config load retries count is exceeded");var t=new Error("Config not loaded. Response status code "+xhr.status);e.__jivoOnError(t)}else Se++,h("geoWidgetInfo",L(null,null,null)),h("isChatStarted",null),h("configHost",null),B()}function B(){Oe=null,Le=null,C()}function M(e){return e.type="text/javascript",e.async=!0,e.charset="UTF-8",e}function R(e){var t;return t=e.responseType&&"text"!==e.responseType?"document"===e.responseType?e.responseXML:e.response:e.responseText}function x(){return void 0!==ie.host_blacklist&&ie.host_blacklist.indexOf(e.location.host)>=0}function W(){if("string"==typeof ie.geoip&&""!==ie.geoip){var e=ie.geoip.split(";")[0];null!==P(e)&&(Ee=e)}if(!D()){var t={type:null,retriesCount:null,host:null};h("availableHostInfo",t),h("buildNumber",null)}var r=ie.static_host?ie.static_host.split("/"):[];Ne=r[1]?"/"+r[1]:"";var n=Te.availableHostInfo;je=n.retriesCount?n.retriesCount:je,je>4&&(je=4),ce=P(Ee)}function P(e){var t=Object.keys(Ie),r=null;return t.forEach(function(t){if(!r){var n=Ie[t];n.indexOf(e)!==-1&&(r=t)}}),r}function D(){var e=Te.availableHostInfo;return Te.buildNumber===ie.build_number&&e.host}function U(e){var t,r=e?"":Ne;return ie.static_host?(D()?t=Te.availableHostInfo.host:0===je?(ce=P(Ee),t=Ce[ce]+r):1===je?(ce=V(Ie,ce),t=Ce[ce]+r):t=ie.base_url,t):ie.base_url}function V(e,t){var r=Object.keys(e),n=q(r);return n===t?V(e,t):n}function q(e){return e[Math.floor(Math.random()*e.length)]}function G(e){var t=ie.bundle_folder?ie.bundle_folder:"";return e+t+"/js/bundle_"+ie.locale+".js?rand="+ie.build_number}function J(t,r,n){if(clearTimeout(se),++je>=we){Q("Bundle load retries count is exceeded");var o="Bundle not loaded. Type: "+t,i=r?". Host: "+r:"",a=n?". Status code: "+n:"",l=new Error(o+i+a);return void e.__jivoOnError(l)}var d={type:t,retriesCount:je,host:null};Te.availableHostInfo=d,c()}function X(){se=setTimeout(function(){J("timeout")},he)}function z(t,r,n){t.addEventListener?t.addEventListener(r,n,!1):t.attachEvent&&(t.attachEvent("on"+r,function(t){return function(){n.call(t,e.event)}}(t)),t=null)}function F(){ie.cp_tracker_id&&ie.cp_tracker_url&&(e._cp={trackerId:ie.cp_tracker_id},Z(ie.cp_tracker_url))}function Z(e,r){var n=r||t,o=n.getElementsByTagName("script"),i=o[0],a=n.createElement("script");M(a),i.parentNode.insertBefore(a,i).src=e}function K(e){e.loaderContext=ge,e.globalStore=ge,Y()}function Y(){ue=null;var e=ee(),t=te(e);if(!t)throw oe.error("Cannot get bundle script element"),new Error("Cannot get bundle script element");for(var r=0;r0?t:e.getElementsByClassName("js-jivo-bundle")}}function re(e){i(e)}function ne(){k()}var oe=e.console;if(oe||(oe={log:function(){},error:function(){}}),!$())return void oe.log("Not supported browser");if("undefined"==typeof e.jivo_magic_var){e.jivo_magic_var=!0;var ie,ae,le,de,se,ue,ce,fe,ge={hasStorage:e.__hasStorage,jivoLoaderVersion:r,loadScript:Z,currentLoaderVersionCache:n},ve=/iPhone|iPad|iPod|Android|Windows Phone/i.test(navigator.userAgent),me=t.createElement("iframe"),pe=t.createElement("div"),be=0,he=5e3,we=5,_e=3,ye=6048e5,je=0,Se=0,Ce=[["//cdn-fr.jivosite.com"],["//cdn-cis.jivosite.com"],["//cdn-ca.jivosite.com"]],Ie={0:["default"],1:["RU","KZ","UA","BY"],2:["US","CA","AG","BS","BB","BZ","HT","GT","HN","GD","DM","DO","MX","NI","PA","SV","LC","VC","KN","TT","JM","CR","CU","AR","BR","BO","VE","GY","CO","PY","PE","SR","UY","CL","EC","AU","VU","KI","MH","FM","NR","NZ","PW","PG","WS","SB","TK","TV","FJ","PH"]},Ne="",Ee="default",Te=b();Q("Initialization"),e.__jivoBundleOnLoad=v,e.__jivoBundleInit=K,ge.getHostURL=U,ge.loadConfig=o,ge.store=Te,ge.setInStore=h;var Le,Oe;C(),Oe&&Le?(Q("widgetId:",Oe,"configHost:",Le),o(S())):Oe&&Le||oe.error("Failed to evaluate the widgetId or configHost"),e.__jivoConfigOnLoad=re,e.__jivoCacheDeletedWidget=ne}}var t=.1;window.__hasStorage=!1;try{localStorage.setItem("testLocalStorage","ok"),localStorage.removeItem("testLocalStorage"),window.__hasStorage=!0}catch(e){}var r=e,n=null;if(window.__hasStorage){try{n=JSON.parse(localStorage.getItem("__jivoLoader"))}catch(e){e.message="Loader parse error",window.__jivoOnError(e)}n&&n.version>t&&(r=new Function("window","document","broswerCacheLoaderVersion","currentLoaderVersionCache","("+n.code+")(window, document, broswerCacheLoaderVersion, currentLoaderVersionCache)"))}try{r(window,document,t,n?n.version:t)}catch(n){n.message=n.message?"Loader error. "+n.message:"Loader error",window.__jivoOnError(n),delete window.jivo_magic_var,r=e,r(window,document,t,t)}}();